package com.ang.util;

import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URL;

/**
 * @author ssang
 * @date 2023-04-21 11:16
 */
public class FileUtils {


    /**
     * File 转换为 MultipartFile
     * 注意指定文件类型："application/pdf"，按需指定
     */
    public static MultipartFile fileToMultipartFile(File file) {
        MultipartFile result = null;
        if (null != file) {
            try (FileInputStream input = new FileInputStream(file)) {
                result = new MockMultipartFile(file.getName().concat("temp"), file.getName(), "application/pdf", input);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return result;
    }

    /**
     * 根据fileName获取resource目录下的文件，并返回文件的目录
     * @param fileName  resource下的文件名
     * @return
     */
    public String getFileByName(String fileName){
        try{
            URL url = this.getClass().getClassLoader().getResource(fileName);
            File file = new File(url.getFile());

            return file.getParent();
        }catch (Exception e){
            return null;
        }
    }
}
